Field of the Invention
The invention relates generally to an integrated circuit and a code generating method.
Description of Related Art
Encryption and authentication technologies have been crucially required to make sure the security of the network, as the network has been prevailing since the mid of the last century. Most of these technologies have been designed by assuming that they are used in a server or PC which has powerful computational ability. For example, anti-virus software and random-number generating software need powerful computation to work. In recent years, on the other hand, there have been increasing chances of small equipment which have less computational power can be connected to the network, such as SIM-card, sensors, smart-meters, smart-cards, USB memories, and so on. The network composed of small equipment like these causes the birth of new application service with the usage of cloud-computing, social network, smart-grid, machine-to-machine (M2M) network, and so on. Since an LSI chip is a component of the small equipment, the number of the chips used in the network must be substantially increased. Thus, some new technology is required to be embedded into LSI chips, in order to make sure the security of the network composed of LSI chips each of which has less computational power. As a result, it is anticipated that the device-level module must be demanded for encryption and authentication. It is also noted that the cost of the security module in the chip is a significant factor.
Generally, a device level module for security includes a) a circuit to carry out the operation of encryption and authentication, and b) a circuit to save/maintain the confidential information that is necessary to operate encryption and authentication (key-maintenance).
It should be noted that the 2nd part (key-maintenance) is added to the chip, which increases the cost of the chip. It is also noted that the attacker will possibly attack the key-maintenance. An example of key-maintenance is illustrated in FIG. 1.
(Physically-Unclonable Function)
In recent years, as illustrated in FIG. 2, it is expected that the key-maintenance circuit will be replaced by a physically unclonable function (PUF), in which an individual difference of chip is used to identify the chip. For example, the module of PUF will return an output (R) with respect to an input (C) as shown in FIG. 3. Another chip will return another output with respect to the same input, as shown in FIG. 4. One can identify a chip with the output difference among chips with respect to the same input. In other words, PUF will create the ID as necessary and it is not necessary to store the ID in the memory.
(Utilization of PUF)
(Authenticity) As long as the output (R) from a chip is different from any other chip, this output can be regarded as an ID number of chip, as shown in FIG. 4.
(Copy Protect) It is possible to create a common encryption key (Key-A) from the output (R-A) of a chip-A. It is also possible to create a common encryption key (Key-B) from the output (R-B) of a chip-B. As shown in FIG. 4, Key-B must be different from Key-A with respect to the same input (C). Once a program is encrypted with Key-A, the program cannot be executed with any other LSI (LSI-B) because Key-B is different from Key-A.
(Requirement for PUF)    a) (Unpredictability) It is impossible or very hard to predict a combination of input (C1) and output (R1) from other combinations of input-output, (C2)-(R2), (C3)-(R3) . . . with regard to a chip. In FIG. 5, it is assumed that the combinations of (C1)-(R1), (C2)-(R3) . . . (Cn)-(Rn) are known. In this event, it must be impossible or very hard to predict a combination of (Cn+1)-(Rn+1).    b) (Originality) Any two chips must return different returns (R1 and R2, where R1≠R2) with respect to the same input (C), as shown in FIG. 4.    c) (Reproducibility) Noise causes, in general, the output from a device to fluctuate around a mean value (R). The fluctuation (AR) must be smaller than the difference between any two outputs (|ΔR|<|Rl−Rm| for ∀l and ∀m), as shown in FIG. 6.
(Merits of PUF)    a) (Invisible label) The return from PUF can be regarded as an invisible label that is randomly and independently attached to each LSI chip without any additional design. It is useful to distinguish certificated or not, as shown in FIG. 7. It is noted that the return from PUF is not necessary to be saved in memory; which means “invisible”.    b) (Copy Protect) An encryption key can be created from the return from PUF. Once a program is encrypted with a key created by PUF in a chip, it cannot be executed with any other chip as long as PUF appropriately operates, as shown in FIG. 8.
However, nothing herein should be construed as an admission of knowledge in the prior art of any portion of the invention. Furthermore, citation or identification of any document in this application is not an admission that such document is available as prior art to the invention, or that any reference forms a part of the common general knowledge in the art.